Non-volatile memory (NVM) is becoming more prevalent in the memory architecture of modem microprocessor systems. For example, the main memory of a microprocessor system could be implemented by dynamic random access memory (DRAM) in combination with NVM, or with NVM acting as a secondary storage backed by a DRAM buffer. It is expected that NVM may even replace DRAM in future microprocessor and other processing systems. The resilience properties of NVM, such as the ability for data stored in NVM to persist after power is removed or a system crash occurs, is one of the driving factors for including NVM in modern memory architectures.